Videoconferencing has enabled people to hold meetings without having to travel to a common location. As a result, meeting participants can be separated by large distances.
Typical videoconferencing applications use a video camera to capture a series of images of a target, such as a meeting participant or a document. The series of images is encoded as a data stream and transmitted over a communications channel to a remote location. For example, the data stream may be transmitted over a phone line, an integrated services digital network (ISDN) line, or the Internet. The encoding process is typically implemented using a digital video encoder/decoder (codec), which divides the images into macroblocks (or “blocks” for short) and compresses the blocks according to a video compression standard, such as the ITU-T H.263 and H.261 standards. In standards of this type, a block may be compressed independent of the previous image or as a difference between the block and part of the previous image.
Each block may be encoded or it may be skipped. If it is not encoded, the image used for that block during reconstruction is copied from the block at the same position in the previous reconstructed image.
When blocks are encoded, the process involves various methods and parameters. One parameter is the quantization level, Q, which influences the resolution of the decoded image. A low quantization level results in a relatively high resolution image encoded with a large number of bits, and a high quantization level results in a relatively low resolution image encoded with a smaller number of bits.
Some encoding techniques vary the quantization level from one block to the next block. However, in some applications it is more efficient to select a quantization level for a block that is the same as or close to the quantization level of the previous block. It may be costly or impossible to vary the quantization widely from block-to-block because of limited bandwidth, the need to maintain a desired frame-rate, and the unpredictability of the magnitudes of changes from frame to frame in the blocks. Therefore, it is common to use the same or slowly changing quantization level for all blocks in a frame. This produces reconstructed images with fairly uniform resolution across all blocks.